iT邦幫忙

2025 iThome 鐵人賽

0
自我挑戰組

使用 DVWA 與 Kali Linux 的攻防學習系列 第 18

【Day 18】徹底搞懂 HTTP/HTTPS 協定與請求/回應週期

  • 分享至 

  • xImage
  •  

前言

在操作Burp Suite的十時候,深刻感覺到我基礎知識的匱乏,於是決定更多了解網絡安全性的概念

我要學習的理論概念:

用戶端-伺服器模型: 要理解我的瀏覽器(Client)是如何向伺服器(Server)發送請求(Request),以及伺服器如何回傳回應(Response)的整個流程。

HTTP 請求的結構: 辨識出一個請求中的請求行(如 GET /login.php)、標頭(Headers,如 Host, User-Agent, Cookie)以及請求主體(Body)。

HTTP 回應的結構: 同樣地,我要能看懂回應中的狀態碼(如 200 OK, 404 Not Found)、標頭(Headers,如 Set-Cookie)和回應主體(HTML 內容)。

HTTPS 的角色: 理解 HTTPS 是如何透過 SSL/TLS 為 HTTP 流量加密,以及它在防止竊聽與竄改上的重要性。

這與我的 Burp Suite / DVWA 實戰連結: Burp Proxy 的核心功能就是攔截並解析這些 HTTP 請求與回應。我必須先搞懂這些理論,才能看懂 Burp 攔截到的資訊代表什麼意義。DVWA 的所有挑戰,都建立在這個基礎之上。

我給自己的今日思考題: 當我在 DVWA 登入頁面輸入帳號密碼並按下送出時,這個 HTTP 請求的「方法」(Method)、「標頭」(Headers) 和「主體」(Body) 分別會長什麼樣子?

專業理論深解:

OSI 模型定位: HTTP (Hypertext Transfer Protocol) 是 OSI 模型中第七層(應用層)的協定。它的核心設計哲學是「無狀態」(Stateless),這意味著每個請求-回應週期都是獨立的,伺roerver 端預設不會保留任何先前交易的上下文。

請求結構 (Request Structure): 我必須能精確解析一個 HTTP 請求的每個組成部分:

請求行 (Request Line): Method SP Request-URI SP HTTP-Version CRLF。例如:GET /api/users?id=123 HTTP/1.1。方法 (Method) 如 GET, POST, PUT, DELETE, OPTIONS 等定義了對資源的操作意圖 (Verb)。

請求標頭 (Request Headers): 關鍵-值對,提供請求的元數據。例如 Host (虛擬主機路由的必要標頭)、Authorization (身份驗證憑證)、Content-Type (請求主體的媒體類型)、User-Agent (客戶端軟體資訊)。

請求主體 (Request Body): 包含要提交給伺服器的數據,例如 JSON payload 或表單數據。

回應結構 (Response Structure):

狀態行 (Status Line): HTTP-Version SP Status-Code SP Reason-Phrase CRLF。例如:HTTP/1.1 200 OK。狀態碼 (Status Code) 分為五大類 (1xx-5xx),是我判斷請求結果的根本依據。

回應標頭 (Response Headers): Content-Type (回應主體的類型)、Set-Cookie (狀態管理關鍵)、Content-Security-Policy (客戶端安全策略)、Server (伺服器軟體資訊,可能造成資訊洩漏)。

HTTPS (HTTP over TLS): HTTPS 並非一個新協定,而是 HTTP 在傳輸層與應用層之間插入了一個安全層 (TLS/SSL)。其核心安全保障來自:

TLS 握手 (Handshake): 客戶端與伺服器透過非對稱加密(如 RSA)協商出一套對稱加密的金鑰(如 AES),並驗證伺服器證書的真實性。

對稱加密通訊: 握手完成後,後續的 HTTP 報文都使用該對稱金鑰進行加密,確保機密性 (Confidentiality) 和完整性 (Integrity)。


上一篇
【Day 17】繞過 Medium 等級的 Command Injection 防禦
下一篇
【Day 19】解同源政策 (Same-Origin Policy) 與 CORS
系列文
使用 DVWA 與 Kali Linux 的攻防學習30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言